package com.ruoyi.system.domain.ERP;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.*;

/**
 * erp物料主数据对象 material_data_erp
 *
 * @author ruoyi
 *
 *@date 2023-03-27
 */
@Table(name = "material_data_erp")
@Entity
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
@TableName("material_data_erp")
public class MaterialDataErp implements Serializable {

private static final long serialVersionUID=1L;


        /** 物料主数据id */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @TableId(value = "data_id")
    @Column(name="data_id")
    @ApiModelProperty(value = "物料主数据id")
    private Long dataId;

    /** 物料编码 */
    @ApiModelProperty(value = "物料编码")
    private String invCode;

    @ApiModelProperty(value = "物料旧编码")
    private String invCodeOld;

    /** 物料代码 */
    @ApiModelProperty(value = "物料代码")
    private String invAddCode;

    /** 物料名称 */
    @ApiModelProperty(value = "物料名称")
    private String invName;

    /** 物料名称 */
    @ApiModelProperty(value = "物料简称")
    @Column(name="material_jc")
    private String materialJc;

    /**
     * 英文名称
     */
    @ApiModelProperty(value = "英文名称")
    private String englishIName;

    /**
     * 固定资产标识
     */
    @ApiModelProperty(value = "固定资产标识")
    private String fixedAssets;

    /**
     * 材质
     */
    @ApiModelProperty(value = "材质")
    private String materialTexture;

    /**
     * 反冲标识
     */
    @ApiModelProperty(value = "反冲标识")
    private String isReverse;

    /**
     * 图号
     */
    @ApiModelProperty(value = "图号")
    private String drawingNo;

    /** 规格型号 */
    @ApiModelProperty(value = "规格型号")
    private String invStd;

    /** 大类编码 */
    @ApiModelProperty(value = "大类编码")
    private String invCCode;

    @ApiModelProperty(value = "大类名称")
    @TableField(exist = false)
    private String invCName;

    /** 主计量单位 */
    @ApiModelProperty(value = "主计量单位")
    private String unitCode;

    /**
     * 度量单位文本
     */
    @ApiModelProperty(value = "度量单位文本")
    private String buomText;

//    @ApiModelProperty(value = "供应商编码*")
//    private String venCode;

    /** 是否销售 */
    @ApiModelProperty(value = "是否销售")
    private String isSale;

    /** 是否外购 */
    @ApiModelProperty(value = "是否外购")
    private String isPurchase;

    /** 是否自制 */
    @ApiModelProperty(value = "是否自制")
    private String isSelf;

    /** 是否生产耗用 */
    @ApiModelProperty(value = "是否生产耗用")
    private String isConsume;

    /** 是否在制 */
    @ApiModelProperty(value = "是否在制")
    private String isProducing;

    /** 是否成套件 */
    @ApiModelProperty(value = "是否成套件")
    private String isAccessary;

    /**
     * 外部采购仓储地点
     */
    @ApiModelProperty(value = "外部采购仓储地点")
    private String externalPurchaseStorage;

    /**
     * 库管员
     */
    @ApiModelProperty(value = "库管员")
    private String warehouseManager;

    /** 启用日期 */
    @ApiModelProperty(value = "启用日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dsDate;

        /** 停用日期 */
        @ApiModelProperty(value = "停用日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deDate;

        /** 创建人 */
        @ApiModelProperty(value = "创建人")
    private String createUser;

        /** 创建时间 */
        @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

        /** 修改人 */
        @ApiModelProperty(value = "修改人")
    private String updateUser;

        /** 修改时间 */
        @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

        /** 工厂id */
        @ApiModelProperty(value = "工厂id")
    private String factoryId;

        @ApiModelProperty(value = "是否批次管理 1psn 2sn")
    private Integer bInwBatch;


    @ApiModelProperty(value = "是否删除 0否1是")
    private Integer isDelete;

    /**
     * 物料类型
     */
    @ApiModelProperty(value = "物料类型")
    private String materialType;

    /**
     * 物料类型描述
     */
    @ApiModelProperty(value = "物料类型描述")
    private String materialTypeDesc;

    /**
     * 物料组
     */
    @ApiModelProperty(value = "物料组")
    private String materialGroup;

    @ApiModelProperty(value = "物料组描述")
    private String materialGroupDesc;

    @ApiModelProperty(value = "长")
    private String length;

    @ApiModelProperty(value = "宽")
    private String width;

    @ApiModelProperty(value = "高")
    private String height;

    @ApiModelProperty(value = "净重")
    private String netWeight;

    @ApiModelProperty(value = "毛重")
    private String grossWeight;

    @ApiModelProperty(value = "序列号管理")
    private String isSingle;

    @ApiModelProperty(value = "安全库存")
    private String securityAmount;

    @ApiModelProperty(value = "最小安全库存")
    private String minAmount;

    @ApiModelProperty(value = "最大库存级别")
    private String maxAmount;

    @ApiModelProperty(value = "abc标识")
    private String abc;

    @ApiModelProperty(value = "是否生效")
    private String isValid;

    @ApiModelProperty(value = "采购类型")
    private String itemFormAttribute;

    @ApiModelProperty(value = "特殊采购类")
    private String producttypeid;

    @ApiModelProperty(value = "停用标记")
    private String deltag;

    @ApiModelProperty(value = "价格控制")
    private String priceControl;
}
